﻿///////////////////////////////////////////////////////////////////////
// Тест класса ДвоичныеДанные
///////////////////////////////////////////////////////////////////////

Перем юТест;

////////////////////////////////////////////////////////////////////
// Программный интерфейс

Функция Версия() Экспорт
	Возврат "0.1";
КонецФункции

Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт
	
	юТест = ЮнитТестирование;
	
	ВсеТесты = Новый Массив;
	
	ВсеТесты.Добавить("ТестДолжен_ПроверитьЧтение");
	ВсеТесты.Добавить("ТестДолжен_ПроверитьЗапись");
	ВсеТесты.Добавить("ТестДолжен_ПроверитьСравнениеДвоичныхДанных");
	
	Возврат ВсеТесты;
КонецФункции

Функция ПрочитатьФайлВДвоичныеДанные()
	ДД = Новый ДвоичныеДанные(ТекущийСценарий().Источник);
	Возврат ДД;
КонецФункции

Функция ПрочитатьФайлВСтроку(Знач ИмяФайла)
	ЧТ = Новый ЧтениеТекста(ИмяФайла);
	Текст = ЧТ.Прочитать();
	ЧТ.Закрыть();
	Возврат Текст;
КонецФункции

Процедура ТестДолжен_ПроверитьЧтение() Экспорт
	
	ДД = ПрочитатьФайлВДвоичныеДанные();
	
	Файл = Новый Файл(ТекущийСценарий().Источник);
	
	юТест.ПроверитьРавенство(Файл.Размер(), ДД.Размер());
	
КонецПроцедуры

Процедура ТестДолжен_ПроверитьЗапись() Экспорт

	ДД = ПрочитатьФайлВДвоичныеДанные();
	Текст = ПрочитатьФайлВСтроку(ТекущийСценарий().Источник);
	ВремФайл = КаталогВременныхФайлов() + "/oscript-bin-data-test__.bin";
	
	УдалитьФайлы(ВремФайл);
	ДД.Записать(ВремФайл);
	
	ТекстИзДД = ПрочитатьФайлВСтроку(ВремФайл);
	УдалитьФайлы(ВремФайл);
	
	юТест.ПроверитьРавенство(Текст, ТекстИзДД);

КонецПроцедуры

Процедура ТестДолжен_ПроверитьСравнениеДвоичныхДанных() Экспорт
	а = ПолучитьДвоичныеДанныеИзСтроки("123");
	б = ПолучитьДвоичныеДанныеИзСтроки("123");
	юТест.ПроверитьРавенство(а,б);
КонецПроцедуры

///////////////////////////////////////////////////////////////////
// Точка входа

//Инициализация();